package com.hjb.service.domain.bank;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BankBaseInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BankBaseInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBankNameIsNull() {
            addCriterion("bank_name is null");
            return (Criteria) this;
        }

        public Criteria andBankNameIsNotNull() {
            addCriterion("bank_name is not null");
            return (Criteria) this;
        }

        public Criteria andBankNameEqualTo(String value) {
            addCriterion("bank_name =", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotEqualTo(String value) {
            addCriterion("bank_name <>", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameGreaterThan(String value) {
            addCriterion("bank_name >", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameGreaterThanOrEqualTo(String value) {
            addCriterion("bank_name >=", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameLessThan(String value) {
            addCriterion("bank_name <", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameLessThanOrEqualTo(String value) {
            addCriterion("bank_name <=", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameLike(String value) {
            addCriterion("bank_name like", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotLike(String value) {
            addCriterion("bank_name not like", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameIn(List<String> values) {
            addCriterion("bank_name in", values, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotIn(List<String> values) {
            addCriterion("bank_name not in", values, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameBetween(String value1, String value2) {
            addCriterion("bank_name between", value1, value2, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotBetween(String value1, String value2) {
            addCriterion("bank_name not between", value1, value2, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameIsNull() {
            addCriterion("bank_short_name is null");
            return (Criteria) this;
        }

        public Criteria andBankShortNameIsNotNull() {
            addCriterion("bank_short_name is not null");
            return (Criteria) this;
        }

        public Criteria andBankShortNameEqualTo(String value) {
            addCriterion("bank_short_name =", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameNotEqualTo(String value) {
            addCriterion("bank_short_name <>", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameGreaterThan(String value) {
            addCriterion("bank_short_name >", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameGreaterThanOrEqualTo(String value) {
            addCriterion("bank_short_name >=", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameLessThan(String value) {
            addCriterion("bank_short_name <", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameLessThanOrEqualTo(String value) {
            addCriterion("bank_short_name <=", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameLike(String value) {
            addCriterion("bank_short_name like", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameNotLike(String value) {
            addCriterion("bank_short_name not like", value, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameIn(List<String> values) {
            addCriterion("bank_short_name in", values, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameNotIn(List<String> values) {
            addCriterion("bank_short_name not in", values, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameBetween(String value1, String value2) {
            addCriterion("bank_short_name between", value1, value2, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankShortNameNotBetween(String value1, String value2) {
            addCriterion("bank_short_name not between", value1, value2, "bankShortName");
            return (Criteria) this;
        }

        public Criteria andBankCodeIsNull() {
            addCriterion("bank_code is null");
            return (Criteria) this;
        }

        public Criteria andBankCodeIsNotNull() {
            addCriterion("bank_code is not null");
            return (Criteria) this;
        }

        public Criteria andBankCodeEqualTo(String value) {
            addCriterion("bank_code =", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeNotEqualTo(String value) {
            addCriterion("bank_code <>", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeGreaterThan(String value) {
            addCriterion("bank_code >", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeGreaterThanOrEqualTo(String value) {
            addCriterion("bank_code >=", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeLessThan(String value) {
            addCriterion("bank_code <", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeLessThanOrEqualTo(String value) {
            addCriterion("bank_code <=", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeLike(String value) {
            addCriterion("bank_code like", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeNotLike(String value) {
            addCriterion("bank_code not like", value, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeIn(List<String> values) {
            addCriterion("bank_code in", values, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeNotIn(List<String> values) {
            addCriterion("bank_code not in", values, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeBetween(String value1, String value2) {
            addCriterion("bank_code between", value1, value2, "bankCode");
            return (Criteria) this;
        }

        public Criteria andBankCodeNotBetween(String value1, String value2) {
            addCriterion("bank_code not between", value1, value2, "bankCode");
            return (Criteria) this;
        }

        public Criteria andQuotaDescIsNull() {
            addCriterion("quota_desc is null");
            return (Criteria) this;
        }

        public Criteria andQuotaDescIsNotNull() {
            addCriterion("quota_desc is not null");
            return (Criteria) this;
        }

        public Criteria andQuotaDescEqualTo(String value) {
            addCriterion("quota_desc =", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescNotEqualTo(String value) {
            addCriterion("quota_desc <>", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescGreaterThan(String value) {
            addCriterion("quota_desc >", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescGreaterThanOrEqualTo(String value) {
            addCriterion("quota_desc >=", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescLessThan(String value) {
            addCriterion("quota_desc <", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescLessThanOrEqualTo(String value) {
            addCriterion("quota_desc <=", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescLike(String value) {
            addCriterion("quota_desc like", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescNotLike(String value) {
            addCriterion("quota_desc not like", value, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescIn(List<String> values) {
            addCriterion("quota_desc in", values, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescNotIn(List<String> values) {
            addCriterion("quota_desc not in", values, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescBetween(String value1, String value2) {
            addCriterion("quota_desc between", value1, value2, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andQuotaDescNotBetween(String value1, String value2) {
            addCriterion("quota_desc not between", value1, value2, "quotaDesc");
            return (Criteria) this;
        }

        public Criteria andTelPhoneIsNull() {
            addCriterion("tel_phone is null");
            return (Criteria) this;
        }

        public Criteria andTelPhoneIsNotNull() {
            addCriterion("tel_phone is not null");
            return (Criteria) this;
        }

        public Criteria andTelPhoneEqualTo(String value) {
            addCriterion("tel_phone =", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneNotEqualTo(String value) {
            addCriterion("tel_phone <>", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneGreaterThan(String value) {
            addCriterion("tel_phone >", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("tel_phone >=", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneLessThan(String value) {
            addCriterion("tel_phone <", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneLessThanOrEqualTo(String value) {
            addCriterion("tel_phone <=", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneLike(String value) {
            addCriterion("tel_phone like", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneNotLike(String value) {
            addCriterion("tel_phone not like", value, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneIn(List<String> values) {
            addCriterion("tel_phone in", values, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneNotIn(List<String> values) {
            addCriterion("tel_phone not in", values, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneBetween(String value1, String value2) {
            addCriterion("tel_phone between", value1, value2, "telPhone");
            return (Criteria) this;
        }

        public Criteria andTelPhoneNotBetween(String value1, String value2) {
            addCriterion("tel_phone not between", value1, value2, "telPhone");
            return (Criteria) this;
        }

        public Criteria andLogolUrlIsNull() {
            addCriterion("logol_url is null");
            return (Criteria) this;
        }

        public Criteria andLogolUrlIsNotNull() {
            addCriterion("logol_url is not null");
            return (Criteria) this;
        }

        public Criteria andLogolUrlEqualTo(String value) {
            addCriterion("logol_url =", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlNotEqualTo(String value) {
            addCriterion("logol_url <>", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlGreaterThan(String value) {
            addCriterion("logol_url >", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlGreaterThanOrEqualTo(String value) {
            addCriterion("logol_url >=", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlLessThan(String value) {
            addCriterion("logol_url <", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlLessThanOrEqualTo(String value) {
            addCriterion("logol_url <=", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlLike(String value) {
            addCriterion("logol_url like", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlNotLike(String value) {
            addCriterion("logol_url not like", value, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlIn(List<String> values) {
            addCriterion("logol_url in", values, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlNotIn(List<String> values) {
            addCriterion("logol_url not in", values, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlBetween(String value1, String value2) {
            addCriterion("logol_url between", value1, value2, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andLogolUrlNotBetween(String value1, String value2) {
            addCriterion("logol_url not between", value1, value2, "logolUrl");
            return (Criteria) this;
        }

        public Criteria andThirdCodeIsNull() {
            addCriterion("third_code is null");
            return (Criteria) this;
        }

        public Criteria andThirdCodeIsNotNull() {
            addCriterion("third_code is not null");
            return (Criteria) this;
        }

        public Criteria andThirdCodeEqualTo(String value) {
            addCriterion("third_code =", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeNotEqualTo(String value) {
            addCriterion("third_code <>", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeGreaterThan(String value) {
            addCriterion("third_code >", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeGreaterThanOrEqualTo(String value) {
            addCriterion("third_code >=", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeLessThan(String value) {
            addCriterion("third_code <", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeLessThanOrEqualTo(String value) {
            addCriterion("third_code <=", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeLike(String value) {
            addCriterion("third_code like", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeNotLike(String value) {
            addCriterion("third_code not like", value, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeIn(List<String> values) {
            addCriterion("third_code in", values, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeNotIn(List<String> values) {
            addCriterion("third_code not in", values, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeBetween(String value1, String value2) {
            addCriterion("third_code between", value1, value2, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andThirdCodeNotBetween(String value1, String value2) {
            addCriterion("third_code not between", value1, value2, "thirdCode");
            return (Criteria) this;
        }

        public Criteria andCardSupportIsNull() {
            addCriterion("card_support is null");
            return (Criteria) this;
        }

        public Criteria andCardSupportIsNotNull() {
            addCriterion("card_support is not null");
            return (Criteria) this;
        }

        public Criteria andCardSupportEqualTo(Boolean value) {
            addCriterion("card_support =", value, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportNotEqualTo(Boolean value) {
            addCriterion("card_support <>", value, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportGreaterThan(Boolean value) {
            addCriterion("card_support >", value, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportGreaterThanOrEqualTo(Boolean value) {
            addCriterion("card_support >=", value, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportLessThan(Boolean value) {
            addCriterion("card_support <", value, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportLessThanOrEqualTo(Boolean value) {
            addCriterion("card_support <=", value, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportIn(List<Boolean> values) {
            addCriterion("card_support in", values, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportNotIn(List<Boolean> values) {
            addCriterion("card_support not in", values, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportBetween(Boolean value1, Boolean value2) {
            addCriterion("card_support between", value1, value2, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCardSupportNotBetween(Boolean value1, Boolean value2) {
            addCriterion("card_support not between", value1, value2, "cardSupport");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}